[[WUM X6425RE 工业服务器-客户软件说明]]

==Specification==
* CPU: Intel Atom x6425RE, 4c4t
* RAM: 16GiB 3200MHz on board
* Ethernet: 3x Intel I210 Gigabit Ethernet controller

==OS==
At least Debian 12 or Ubuntu 22.04 with full graphic interface support.

Ubuntu 16.04 is supported with console only (server version). Need to install kernel 4.15+ to install modificated gpio-f7188x driver:
<pre>
#Only required on Ubuntu 16.04
sudo apt-get update
sudo apt-get install linux-image-generic-hwe-16.04 linux-headers-generic-hwe-16.04
</pre>

Need DKMS for modificated gpio-f7188x driver:
<pre>
sudo apt-get install dkms
</pre>

Install modificated gpio-f7188x driver:
<pre>
git clone https://github.com/ariaboard-com/gpio-f7188x-alt.git
cd gpio-f7188x-alt
make
sudo make dkms
echo gpio-f7188x-alt | sudo tee -a /etc/modules
</pre>

==GPIO Description==
Need modificated gpio-f7188x driver for enabling GPIO 80-87.

Available GPIOs:
* GPIO 0-7
* GPIO 10-17
* GPIO 20-27
* GPIO 50-57
* GPIO 60-67
* GPIO 70-77
* GPIO 80-87
* GPIO 90-97

Operating GPIOs using sysfs (use GPIO 12 and 55 as example): 

Need root permission to operate GPIOs.

Output:
<pre>
sudo chmod a+rw /sys/class/gpio/export
echo 12 > /sys/class/gpio/export #Export GPIO:
echo out > /sys/class/gpio/gpio12/direction #Output
echo 1 > /sys/class/gpio/gpio12/value #Set output state
</pre>

Input:
<pre>
echo 55 > /sys/class/gpio/export #Export GPIO:
echo in > /sys/class/gpio/gpio55/direction #Input
echo 1 > /sys/class/gpio/gpio55/active_low #Active Low (if needed)
cat /sys/class/gpio/gpio55/value #Get input state
</pre>

===GPIO Table===
{| class="wikitable" style="text-align:center;"
|-
| colspan="5" | GPIO Input
|-
| Item
| style="text-align:left;" | Fuction
| direction
| GPIO(F81966D-I)
| Active
|-
| 1
| style="text-align:left;" | DI1
| Input
| GPIO60
| L
|-
| 2
| style="text-align:left;" | DI2
| Input
| GPIO61
| L
|-
| 3
| style="text-align:left;" | DI3
| Input
| GPIO62
| L
|-
| 4
| style="text-align:left;" | DI4
| Input
| GPIO63
| L
|-
| 5
| style="text-align:left;" | DI5
| Input
| GPIO07
| L
|-
| 6
| style="text-align:left;" | DI6
| Input
| GPIO64
| L
|-
| 7
| style="text-align:left;" | DI7
| Input
| GPIO53
| L
|-
| 8
| style="text-align:left;" | DI8
| Input
| GPIO54
| L
|-
| colspan="5" | GPIO Output
|-
| 9
| style="text-align:left;" | DO1
| Output
| GPIO12
| H
|-
| 10
| style="text-align:left;" | DO2
| Output
| GPIO13
| H
|-
| 11
| style="text-align:left;" | DO3
| Output
| GPIO97
| H
|-
| 12
| style="text-align:left;" | DO4
| Output
| GPIO70
| H
|-
| 13
| style="text-align:left;" | DO5
| Output
| GPIO71
| H
|-
| 14
| style="text-align:left;" | DO6
| Output
| GPIO72
| H
|-
| 15
| style="text-align:left;" | DO7
| Output
| GPIO73
| H
|-
| 16
| style="text-align:left;" | DO8
| Output
| GPIO74
| H
|-
| colspan="5" | GPIO Feedback
|-
| 17
| style="text-align:left;" | DOI1
| Input
| GPIO55
| L
|-
| 18
| style="text-align:left;" | DOI2
| Input
| GPIO56
| L
|-
| 19
| style="text-align:left;" | DOI3
| Input
| GPIO50
| L
|-
| 20
| style="text-align:left;" | DOI4
| Input
| GPIO57
| L
|-
| 21
| style="text-align:left;" | DOI5
| Input
| GPIO84
| L
|-
| 22
| style="text-align:left;" | DOI6
| Input
| GPIO85
| L
|-
| 23
| style="text-align:left;" | DOI7
| Input
| GPIO86
| L
|-
| 24
| style="text-align:left;" | DOI8
| Input
| GPIO87
| L
|-
| colspan="5" | MVB Interrupt
|-
| 27
| style="text-align:left;" | MVB INT
| Input
| GPIO77
| L
|-
| colspan="5" | CF Card Insert Detection
|-
| 28
| style="text-align:left;" | CF DET
| Input
| GPIO78
| L
|}

==Serial Port==
Device /dev/ttyS0 ~ /dev/ttyS5.

* /dev/ttyS0 Front Panel

==Ethernet Card I210==
===Programming Firmware===
<pre>
sudo ./eeupdate64e -nic 1 -D Dev_Start_I210_Copper_NOMNG_4Mb_A2.bin
sudo ./eeupdate64e -nic 2 -D Dev_Start_I210_Copper_NOMNG_4Mb_A2.bin
sudo ./eeupdate64e -nic 3 -D Dev_Start_I210_Copper_NOMNG_4Mb_A2.bin
sudo ./eeupdate64e -nic 1 -calcchksum
sudo ./eeupdate64e -nic 2 -calcchksum
sudo ./eeupdate64e -nic 3 -calcchksum
</pre>
Need to do a complete shutdown and cut power source to apply firmware.

===Set MAC Address===
<pre>
sudo ./eeupdate64e -nic 1 -mac 28fd80541000
sudo ./eeupdate64e -nic 2 -mac 28fd80541001
sudo ./eeupdate64e -nic 3 -mac 28fd80541002
</pre>

==Probe I2C device on x86==
<pre>
echo opt3001 0x44 > /sys/bus/i2c/devices/i2c-0/new_device
</pre>